package com.haohan.jingyuan.customer.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.haohan.jingyuan.customer.entity.CustomerFileShare;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 客户材料分享Mapper接口
 * 
 * @ClassName CustomerFileShareMapper
 * @Description 客户材料分享数据访问层
 * @Author hexijun
 * @Time 2025/11/04 17:00
 * @Version 1.0
 */
@Mapper
public interface CustomerFileShareMapper extends BaseMapper<CustomerFileShare> {

    /**
     * 根据分享ID查询分享信息
     * 
     * @param shareId 分享ID
     * @return 分享信息
     */
    CustomerFileShare findByShareId(@Param("shareId") String shareId);

    /**
     * 分页查询分享列表
     * 
     * @param page 分页对象
     * @param shareId 分享ID（可空）
     * @param fileKey 文件key（可空）
     * @param customerId 客户ID（可空）
     * @param groupCode 客户材料分类（可空）
     * @param qrCodeOssKey 分享二维码OSS key（可空）
     * @param expireAtStart 有效期开始时间（可空）
     * @param expireAtEnd 有效期结束时间（可空）
     * @return 分页分享列表
     */
    IPage<CustomerFileShare> selectShareListPage(Page<CustomerFileShare> page,
                                                 @Param("shareId") String shareId,
                                                 @Param("fileKey") String fileKey,
                                                 @Param("customerId") String customerId,
                                                 @Param("groupCode") String groupCode,
                                                 @Param("qrCodeOssKey") String qrCodeOssKey,
                                                 @Param("expireAtStart") java.util.Date expireAtStart,
                                                 @Param("expireAtEnd") java.util.Date expireAtEnd);
}

